As the number of business-to-consumer (B2C) and business-to-business (B2B) transactions increases, the issue of guaranteeing e-commerce becomes more and more acute. The current state of the art is authenticating the identity of both parties to prevent attackers from fraudulently taking action on behalf of one party and then encrypting their communication to prevent attackers from observing confidential information. Typically, either the Secure Sockets Layer (SSL) protocol or the Transport Layer Security (TLS) protocol may provide a mechanism for authentication and encryption. These protocols are nearly identical, so one can treat them as the same protocol for the purpose of analyzing their use in e-commerce. The party controlling the server authenticates itself using the protocol's required certificate-based mechanism and the party controlling the client authenticates itself using either a password-based mechanism provided by the application layer or the protocol's certificate-based client mechanism. However, this popular approach does not resolve disputes over the content of a transaction between two parties.